This invention relates generally to non-volatile semiconductor memories of the flash EEPROM (Electrically Erasable and Programmable Read Only Memory) type, particularly to structures and methods of operating NAND types of memory cell arrays.
There are many commercially successful non-volatile memory products being used today, particularly in the form of small form factor cards, which use an array of flash EEPROM cells.
One popular flash EEPROM architecture utilizes a NAND array, wherein a large number of strings of memory cells are connected through one or more select transistors between individual bit lines and a reference potential. A portion of such an array is shown in plan view in FIG. 2A. BL0-BL4 (of which BL1-BL3 for transistor strings, such as NAND strings 11, 13, 15 in FIG. 3A, are also labeled 12, 14, 16) represent diffused bit line connections to global vertical metal bit lines (not shown). Although four floating gate memory cells are shown in each string, the individual strings typically include 16, 32 or more memory cell or charge storage elements, such as floating gates, in a column. The terms “memory cell” and “charge storage element” are used interchangeably herein. Control gate (word) lines labeled WL0-WL3 in FIG. 2A (labeled P2 in FIG. 2B, a cross-sectional along line A-A of FIG. 2A) and string selection lines SGD and SGS extend across multiple strings over rows of floating gates, often in polysilicon (labeled P1 in FIG. 2B). However, for drain side select transistor 40 and source side select transistor 50, the control gate and floating gate may be electrically connected (not shown), which are referred to below as the drain side select gate (for transistor 40), and source side select gate (for transistor 50). The control gate lines (CG) are typically formed over the floating gates as a self-aligned stack, and are capacitively coupled with each other through an intermediate dielectric layer 19, as shown in FIG. 2B. The top and bottom of the string connect to the bit line and a common source line respectively, commonly through a transistor using the floating gate material (P1) as its active gate electrically driven from the periphery. This capacitive coupling between the floating gate (FG) and the control gate (CG) of each of the four transistors in each string allows the voltage of the floating gate to be raised by increasing the voltage on the control gate coupled thereto. An individual cell within a column or string is read and verified during programming by causing the remaining cells in the string to be turned on by placing a relatively high voltage on their respective word lines and by placing a relatively lower voltage on the one selected word line so that the current flowing through each string is primarily dependent only upon the level of charge stored in the addressed cell below the selected word line. That current typically is sensed for a large number of strings in parallel, thereby to read charge level states along a row of floating gates in parallel.
Relevant examples of NAND type flash memories and their operation are provided in the following U.S. patents/patent Applications, all of which are incorporated herein by reference: U.S. Pat. Nos. 5,570,315; 5,774,397; 6,046,935, 6,456,528 and 6,522,580.
The charge storage elements of current flash EEPROM arrays are most commonly electrically conductive floating gates, typically formed from doped polysilicon material. However, other materials with charge storing capabilities, that are not necessarily electrically conductive, can be used as well. An example of such an alternative material is silicon nitride. Such a cell is described in an article by Takaaki Nozaki et al., “A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application” IEEE Journal of Solid-State Circuits, Vol. 26, No. 4, April 1991, pp. 497-501.
Memory cells of a typical non-volatile flash array are divided into discrete blocks of cells that are erased together. That is, the block contains the minimum number of cells that are separately erasable together as an erase unit, although more than one block may be erased in a single erasing operation. Each block typically stores one or more pages of data, a page defined as the minimum number of cells that are simultaneously subjected to a data programming and read operation as the basic unit of programming and reading, although more than one page may be programmed or read in a single operation. Each page typically stores one or more sectors of data, the size of the sector being defined by the host system. An example is a sector of 512 bytes of user data, following a standard established with magnetic disk drives, plus some number of bytes of overhead information about the user data and/or the block in which it is stored.
As in most all integrated circuit applications, the pressure to shrink the silicon substrate area required to implement some integrated circuit function also exists with flash EEPROM arrays. It is continually desired to increase the amount of digital data that can be stored in a given area of a silicon substrate, in order to increase the storage capacity of a given size memory card and other types of packages, or to both increase capacity and decrease size. Another way to increase the storage density of data is to store more than one bit of data per memory cell charge storage element. This is accomplished by dividing the allowable voltage or charge storage window of a charge storage element into more than two states. The use of four such states allows each cell to store two bits of data, eight states stores three bits of data per cell, and so on. A multiple state flash EEPROM structure and operating is described in U.S. Pat. Nos. 5,043,940; 5,172,338, 5,570,315 and 6,046,935.
A typical architecture for a flash memory system using a NAND structure will include NAND arrays, where each array includes several NAND strings. For example, FIG. 3A shows only three NAND strings 11, 13 and 15 of the memory array of FIG. 2A, which array contains more than three NAND strings. Each of the NAND strings of FIG. 3A includes two select transistors and four memory cells. For example, NAND string 11 includes select transistors 20 and 30, and memory cells 22, 24, 26 and 28. NAND string 13 includes select transistors 40 and 50, and memory cells 42, 44, 46 and 48. Each string is connected to the source line by its select transistor (e.g. select transistor 30 and select transistor 50). A selection line SGS is used to control the source side select gates. The various NAND strings are connected to respective bit lines by select transistors 20, 40, etc., which are controlled by select line SGD. In other embodiments, the select lines do not necessarily need to be in common. Word line WL3 is connected to the control gates for memory cell 22 and memory cell 42. Word line WL2 is connected to the control gates for memory cell 24 and memory cell 44. Word line WL1 is connected to the control gates for memory cell 26 and memory cell 46. Word line WL0 is connected to the control gates for memory cell 28 and memory cell 48. As can be seen, each bit line and the respective NAND string comprise the columns of the array of memory cells. The word lines (WL3, WL2, WL1 and WL0) comprise the rows of the array. Each word line connects the control gates of each memory cell in the row. For example, word line WL2 is connected to the control gates for memory cells 24, 44 and 64.
FIG. 3B is a circuit diagram depicting a number of NAND arrays, with each array controlled by a set of common word lines. The array of FIGS. 2A and 3 appears as the top array in FIG. 3B. As shown in FIG. 3B, each NAND string (e.g. 11, 13) in the same array is connected to one of a plurality of bit lines 12, 14, . . . and to a common source line, and are controlled by a common set of word lines (WL0-WL3).
Each memory cell can store data (analog or digital). When storing one bit of digital data (binary memory cell), the range of possible threshold voltages of the memory cell is divided into two ranges which are assigned logical data “1” and “0”. In one example of a NAND type flash memory, the voltage threshold is negative after the memory cell is erased, and defined as logic “1.” The threshold voltage after a program operation is positive and defined as logic “0.” When the threshold voltage is negative and a read is attempted with 0 volt applied to its control gate, the memory cell will conduct current to indicate logic one is being stored. When the threshold voltage is positive and a read operation is attempted, the memory cell will not turn on, which indicates that logic zero is stored. A memory cell can also store multiple levels of information, for example, multiple bits of digital data. In the case of storing multiple levels of data, the range of possible threshold voltages is divided into the number of levels of data. For example, if four levels of information are stored, there will be four threshold voltage ranges, each range assigned to one data value. Memories storing data by differentiation between multiple (i.e. more than two) ranges of threshold voltage are known as multiple state memories. In one example of a NAND type memory, the threshold voltage after an erase operation is negative and defined as “11”. Positive threshold voltages are used for the states of “10”, “01”, and “00.”
When programming a NAND flash memory cell, a program voltage is applied to the control gate and the channel area of the NAND string that is selected for programming is grounded (0V). Electrons from the channel area under the NAND string are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the cell is raised. To ground the channel area of the selected NAND string, the corresponding bitline is grounded (0 volt), while the SGD is connected to a sufficiently high voltage (typically Vdd at for example 3.3 volts) that is higher than the threshold voltage of the select transistors. To apply the program voltage to the control gate of the cell being programmed, that program voltage is applied on the appropriate word line. As discussed above, that word line is also connected to one cell in each of the other NAND strings that utilize the same word line. For example, when programming cell 24 of FIG. 3A, the program voltage will also be applied to the control gate of cell 44 because both cells share the same word line. A problem arises when it is desired to program one cell on a word line without programming other cells connected to the same word line, for example, when it is desired to program cell 24 and not cell 44. Because the program voltage is applied to all cells connected to a word line, an unselected cell (a cell that is not to be programmed) on the word line may become inadvertently programmed. For example, cell 44 is adjacent to cell 24. When programming cell 24, there is a concern that cell 44 might unintentionally be programmed. The unintentional programming of the unselected cell on the selected word line is referred to as “program disturb.” More generally speaking, “program disturb” is used to describe any unwanted threshold voltage shift, either in the positive or negative direction, which can occur during a programming operation and is not necessarily limited to the selected word line.
Several techniques can be employed to prevent program disturb. One method known as “self boosting” (“SB”) is proposed by K. D. Suh et al. in “A 3.3 V 32 Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme,” Journal of Solid-State Circuits, Vol 30, No. 11, November 1995, pp. 1149-55. During programming using the SB scheme, the channel areas of the unselected NAND strings are electrically isolated from their corresponding bit lines. Subsequently an intermediate pass voltage (e.g. 10 volts) is applied to the unselected word lines while a high program voltage (e.g. 18 volts) is applied to the selected word line. In this application, the terms “isolate” and “electrically isolate” are used interchangeably, and the terms “writing voltage,” “program voltage” and “programming voltage” are used interchangeably. The channel areas of the unselected NAND strings are capacitively coupled to the unselected word lines, causing a voltage (e.g. six volts, assuming a coupling ratio of 0.6) to exist in the channel areas of the unselected NAND strings. This so called “Self Boosting” reduces the potential difference between the channel areas of the unselected NAND strings and the program voltage that is applied to the selected word line. As a result, for the memory cells in the unselected NAND strings and especially for the memory cells in such strings on the selected word line, the voltage across the tunnel oxide and hence the program disturb are significantly reduced.
Referring to FIG. 3A, when a self boosting program technique is applied to the memory array in FIG. 3A to program one of the cells on bit line 12, for example, zero volt is applied to the bit line 12 and voltage Vdd (e.g. 3.3 volts) is applied to the bit line 14. The voltage Vdd is applied to the drain select line SGD to turn on the transistors 20 and 40 and zero volt is applied to the source select line SGS to turn off transistors 30 and 50. Assuming that all of the memory cells in the array 42-48 are in the normally on states (e.g. erased or negative threshold voltage state), the channel potential of all the cells in the NAND string between transistors 40 and 50 is given by the difference between Vdd applied to SGD and the threshold voltage of the select transistor 40. For example, if Vdd is 3.3 volts and the threshold voltage of transistor 40 is 1.3 volts, then the channel potential of all the cells 42-48 is charged to 2 volts. The above operation can be referred to as “pre-charging” since the channel potential is pre-charged to a predefined potential of about 2V in this case. Since transistor 50 is turned off and transistor 40 will turn off automatically after the channel potential of the NAND string has reached a sufficiently high value (2V in this case) the channel potential of memory cells 42-48 becomes floating. Therefore, when the high program voltage Vpgm (e.g. 18 volts) is applied to the word line WL2, and an intermediate voltage Vpass (e.g. 10 volts) is applied to the remaining word lines, the channel potential of memory cells 42-48 is bootstrapped or boosted from 2 volts, the initial pre-charged level, to a value such as 8 volts, due to capacitive coupling, assuming a coupling ratio of about 0.6. Therefore, even though a high voltage such as 18 volts is applied to the control gate of memory cell 44, the potential difference between such high voltage and the channel potential is not adequate to cause electron tunneling through the oxide to the floating gate of memory cell 44, thereby preventing program disturb.
A NAND string is typically (but not always) programmed from the source side to the drain side, for example, from memory cell 28 to memory cell 22 in one programming cycle. When the programming process is ready to program the last (or near the last) memory cell of the NAND string, if all or most of the previously programmed cells on the string being inhibited (e.g. string 13) were programmed, then there is negative charge in the floating gates of the previously programmed cells. Because of this negative charge on the floating gates, the pre-charging can not take place completely, resulting in a lower initial potential of the channel area under the NAND string and the subsequent self-boosting of such channel area becomes less effective as well. Therefore, the boosted potential in the channels of the unselected NAND strings may not become high enough and there still may be program disturb on the last few word lines. For example, when programming voltage is applied to WL3, if cells 48, 46, and 44 on a string that is inhibited were programmed, then each of those memory cells 44, 46, 48 has a negative charge on its floating gate which will limit the boosting level of the self boosting process and possibly cause program disturb on cell 42.
In view of the above problem, as an improvement, a scheme known as erased area self boosting (“EASB”) has been proposed. In the EASB scheme, when applying a high programming voltage to the word line WL2, in order to reduce or prevent program disturb in regard to memory cell 44 on a string that is inhibited, 0 volts is applied to word line WL1 so that memory cell 46 is turned off. Cell 46 then isolates the channel region of string 13 on the bit line side of cell 46 from the channel region of string 13 on the source line side of cell 46. In other words, the channel region of cells 42, 44 is isolated from the channel region of cell 48. Since cell 46 and 48 are more likely to have negative charges on their floating gates, whereas cells 42, 44 will not have negative charges on their floating gates, then the channel potential in memory cell 44 is not or at least less influenced by the potentially reduced self boosting in the channel regions of memory cells 46 and 48. Therefore, the channel potential of the channel region of memory cells 44 and 42 may be self boosted by the high programming voltage Vpgm and the passing voltage (e.g. at 10 V) to a voltage level that is higher than that achieved when the channel region of memory cell 44 is influenced by the self boosting in the memory cells 46 and 48 as well as the self boosting in the memory cells 42 and 44. This prevents program disturb when memory cell 24 is being programmed.
FIG. 4 illustrates the typical EASB program inhibit operation. Vdd is applied to the Bitline 70, thus the NAND string is boosted and inhibited from programming. Erased Area Self Boosting is defined as applying sufficiently low voltage (in this case 0V) to the source side neighbor of the selected word line to which a program voltage Vpgm is applied in order to isolate the programmed and erased channel area. The shaded areas in FIGS. 4 and 5 illustrate the channel areas where electrical potentials or voltages have been boosted to high levels. However, as the memory cell dimensions scale down, program disturb becomes more severe even for the EASB method or variations thereof.
Phenomenon such as Gate Induced Drain Leakage (GIDL), Band-To-Band Tunneling (BTBT), punch through, or any other undesired phenomenon that causes program disturb are generally triggered by high vertical and lateral electric fields in or in between flash cells, and will become worse when memory cells are scaled down, since applied voltages used in flash memory cell can not be easily scaled down. This contradicting scaling limitation will trend to increase the electric fields as scaling proceeds. This is illustrated in FIG. 5. As shown in FIG. 5, BTBT and GIDL are common phenomena which are triggered by the high electric field (channel areas with high boosted electrical potentials shown as shaded areas in FIG. 5) at the isolation cell junction. When the isolation cell is programmed to a high threshold voltage and, or when boosted channel potential is high, the electric field at the isolation cell with 0V applied to the control gate will be larger. This enhances GIDL or any other phenomenon triggered by the high electric field resulting in program disturb.
As illustrated in FIG. 5, undesired carriers generated due to high electric fields will be injected in to the floating gate of the closest high potential path, typically the cell with relatively high voltage applied to the control gate. The combination of low voltage on the word line of the memory cell that isolates the two channel regions or areas, and the high boosted channel potential that results in a high drain potential on the isolation cell, can increase the electric field. The electric fields in or in between the memory cells strongly depend on the threshold voltage state and the applied voltage to the isolation cell. The vertical electric field at the isolation cell increases when programming cells closer to the drain side select gate. This is because when cells close to the drain select gate are being programmed, the erased channel region or area on the drain side of the isolation cell is small or very small. This means that the capacitance of the erased channel region or area on the drain side of the isolation cell is small, so that the boosting efficiency is high and the boosting effect of the high program voltage Vpgm is more strongly felt. Thus program disturb enhanced by the high electric fields in or in between memory cells is worse when programming the cells closer to the drain side select gate, and also becomes worse as the cell is scaled down.
It is therefore desirable to provide a programming scheme whereby the above described difficulties are alleviated or reduced.